//给你一个整数 n，请你判断该整数是否是 3 的幂次方。如果是，返回 true ；否则，返回 false 。
//如果存在一个整数 x 使得 n == 3x ，则认为 n 是 3 的幂次方。
#include <stdio.h>
#include <stdbool.h>

bool isPowerOfThree(int n) 
{
    // if(n == 3 || n==1)
    // return true;
    // else if(n==2 ||n < 1)
    // return false;
    // else if(n%3 ==0)
    // {
    //     return isPowerOfThree(n/3);
    // }
    // return false;

    //不断地将 n 除以 3，直到 n=1。如果此过程中 n 无法被 3 整除，就说明 n 不是 3 的幂。
    while (n != 0 && n % 3 == 0) 
    {
        n /= 3;
    }
    return n == 1;
}



int main()
{
    int n = 9;
    printf("%d\n",isPowerOfThree(n));
}